草庐IT

java - JDK中 `sun`开头的包源在哪里获取?

我正在学习javanio,发现实现类在sun.nio下,jdk1.6/src.zip中好像没有提供源码。是否有开源软件包?在哪里可以找到它们的来源? 最佳答案 您可以在http://download.java.net/openjdk/jdk7/下载实现java.nio的java代码和native代码。(解压源zip后查看top_dir/j2se/src/share/classes/java/nio/)请注意,您将能够在其中看到依赖于平台的代码,例如Solaris、Linux和Windows的代码。

spring - 使用 Spring 和 Tomcat 从 JDK 6 迁移到 JDK 7 有什么问题吗?

我想利用JDK7的一些特性。如果我使用ApacheTomcat7.0.x(最新)和Spring3.1(最新),我可能会遇到什么问题? 最佳答案 有一些编译问题,JDK6可以正确推断泛型类型,而JDK7不能。这显然是JDK6中的一个错误,引用here.如果您正在使用特定于容器的资源(例如,数据源等),请务必验证这些资源是否仍在正常运行(尽管如果连接了其中任何一个,这将在Spring启动时立即显而易见)。如果您使用的是SpringSecurity,并且升级后,您本身无需进行任何更改即可运行。但是,您应该利用SpringSecurity3

java - JDK7 和原生组件的焦点问题

我们有一个swing应用程序,它通过JNIWrapper嵌入了一个IEocx组件。从jdk6切换到jdk7后,我们开始注意到焦点问题。当嵌入式IE显示带有文本字段的网页(例如谷歌搜索页面)时,问题就开始了:浏览器“捕捉”焦点,因此您可以开始在搜索文本字段中键入内容。输入的每个键都会转到IEocx。但是swing似乎忽略了这种焦点变化。即使我将焦点更改为swing文本字段(并且swing显示闪烁的输入光标),所有键入的键都会转到IEocx“修复”焦点的唯一方法是停用和激活主框架。在那之后,焦点似乎是一致的。但是,如果我再次点击谷歌搜索文本字段,焦点就会再次被打破。jdk7中的焦点处理似乎

java - Json 使用 Jackson 库序列化 JDK 动态代理

我正在尝试使用Jackson库序列化Java动态代理,但出现此错误:publicinterfaceIPlanet{StringgetName();}PlanetimplementsIPlanet{privateStringname;publicStringgetName(){returnname;}publicStringsetName(StringiName){name=iName;}}IPlanetip=ObjectsUtil.getProxy(IPlanet.class,p);ObjectMappermapper=newObjectMapper();mapper.writeVal

java - jdk7 : sun. font.fontManager 替换/如何从 fontname 获取文件名信息

使用Oracle(Sun)JDK6并尝试迁移到OracleJDK7我正在使用sun.awt.GraphicsEnvironment查找所有系统字体,以便使用它们来更改我的pdf文件中使用的pdf字体。这是我正在使用的确切代码:GraphicsEnvironmentgEnv=GraphicsEnvironment.getLocalGraphicsEnvironment();//getallsystemfontsfinalFont[]fonts=gEnv.getAllFonts();之后我需要获取系统上的确切字体文件路径,所以我使用:FontManager.getFontPath(true

java - NetBeans 7.4 可以将 JDK 1.6 作为默认平台吗?

我主要使用Netbeans处理已创建并需要在Java6上运行的Java核心应用程序。我在我的机器上安装了Java6、7和8,并且在NetBeans中都可以使用它们来配置我的项目。但是,由于NetBeans7.4只能在Java7+上运行,因此我选择Java7作为NetBeans中的默认平台。改变它的通常方法是设置netbeans_jdkhome=在netbeans.conf中。但是,这是NetBeans用来运行的JDK,所以我陷入了僵局。问题是:我们的项目依赖于很多其他项目,遗憾的是没有使用像maven或类似的东西,所以当我在netbeans中执行“清理和构建”时,即使我将项目的平台设置

java - JDK 1.6及以上版本Integer类的缓存机制改变有什么好处?

我发现缓存机制在jdk1.6或以上的jdk版本中得到了改进。在jdk1.5中Integer中的缓存数组是固定的,参见staticfinalIntegercache[]=newInteger[-(-128)+127+1];在jdk1.6或以上版本中,名为getAndRemoveCacheProperties的方法和一个IntegerCache.high属性已添加到Integer类,喜欢,//java.lang.Integer.IntegerCache.high属性的值(在VM初始化期间获得)privatestaticStringintegerCacheHighPropValue;stat

java - Spring Boot 2.1.5 Java 11 模块,组装 JAR : Could not create modular JAR file. 时出错 JDK jar 工具退出 1 -> [帮助 1]

运行命令-mvnclean-Dmaven.test.skip=truepackage-X我收到以下错误。[ERROR]Failedtoexecutegoalorg.apache.maven.plugins:maven-jar-plugin:3.1.2:jar(default-jar)onprojectmy-module-one:ErrorassemblingJAR:CouldnotcreatemodularJARfile.TheJDKjartoolexitedwith1->[Help1]org.apache.maven.lifecycle.LifecycleExecutionExcep

java - 如何在 emacs 语义中包含标准 jdk 库?

我正在使用Emacs23.2。这是我加载语义的方式:(setqsemantic-default-submodes'(global-semantic-idle-scheduler-modeglobal-semanticdb-minor-modeglobal-semantic-idle-summary-modeglobal-semantic-mru-bookmark-mode))(semantic-mode1)因此,如果我创建一个简单的java文件并访问它,我将获得本地定义的方法和类的代码完成。但我不知道如何让jdk库具有语义意识。例如,如果我在字符串变量上尝试semantic-ia-co

java - 从 open jdk 切换到 Sun jdk

我在/usr/lib/jvm中有jdk1.7.0目录以及其他open-jdk版本。我希望我的Ubuntu12.04将此jdk(jdk1.7.0)视为其主要jdk,即我不想使用open-jdks。当我键入java-version或javac-version时,它都会返回它正在使用openjdk及其jre。怎么改成jdk1.7.0? 最佳答案 将类似于以下内容的内容添加到您的~/.bashrcexportJAVA_HOME="/usr/lib/jvm/jdk1.7.0"exportPATH="$JAVA_HOME/bin:$PATH"要